#ifndef tlmRmtCfgDataInfoCon_H
#define tlmRmtCfgDataInfoCon_H

//## class tlmRmtCfgDataInfoCon
#include "tlmRmtCfgDataInfo.h"


//## class tlmRmtCfgDataInfoCon
class tlmRmtCfgDataInfoCon : public tlmRmtCfgDataInfo {
public :

    #define TLM_VIN_FULL_LENGTH 17   
    #define TLM_LANGUAGE_LENGTH 1  
    #define TLM_SW_VER_LENGTH 20
    //#[ type TLM_RMT_CFG_DATA_INFO_CON_MAX_SIZE
    #define TLM_RMT_CFG_DATA_INFO_CON_MAX_SIZE (6+TLM_VIN_FULL_LENGTH+TLM_LANGUAGE_LENGTH+TLM_SW_VER_LENGTH)
    //#]
    #define TLM_RMT_CFG_DATA_INFO_CODE_VIN 0x10
    #define TLM_RMT_CFG_DATA_INFO_CODE_LANGUAGE 0x13
    #define TLM_RMT_CFG_DATA_INFO_CODE_SW_VER 0x14
    
    ////    Friends    ////
    

    ////    Constructors and destructors    ////
    
    //## operation tlmRmtCfgDataInfoCon(uint8_t*,uint32_t)
    tlmRmtCfgDataInfoCon(uint8_t* bufPtr, uint32_t size);
    
    //## auto_generated
    tlmRmtCfgDataInfoCon();
    
    //## auto_generated
    virtual ~tlmRmtCfgDataInfoCon();
    
    ////    Operations    ////
    
    //## operation Fill()
    virtual void Fill();
    
    //## operation GetMaxDataInfoSize()
    virtual uint32_t GetMaxDataInfoSize();
    
    //## operation Init()
    virtual void Init();
    
    //## operation SetLanguage(uint8_t)
    void SetLanguage(uint8_t language);
    
    //## operation SetSwVer(uint8_t* )
    void SetSwVer(uint8_t*  swVer);
    void SetSwVer(uint8_t*  swVer, uint32_t size);
    
    //## operation SetVin(uint8_t*,uint32_t)
    void SetVin(uint8_t* vin, uint32_t size);
    
    ////    Attributes    ////

protected :

    uint8_t mLanguage;		//## attribute mLanguage
    
    uint8_t mSwVer[TLM_SW_VER_LENGTH+1];		//## attribute mSwVer
    
    uint8_t mVin[TLM_VIN_FULL_LENGTH+1];		//## attribute mVin
};
#endif
